package com.cwt.service.service;

import com.cwt.service.base.IBaseService;
import com.cwt.service.domain.SysRole;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
* @author Acer
* @description 针对表【sys_role(角色表)】的数据库操作Service
* @createDate 2023-07-19 11:55:16
*/
public interface SysRoleService extends IBaseService<SysRole> {

    SysRole querySysRoleByName(SysRole role);

    /**
     * 保存roleMenus
     * @param role 权限
     * @return 保存状态
     */
    boolean insertRoleMenu(SysRole role);

    /**
     * 校验权限角色名称唯一
     * @param role 权限
     * @return 是否唯一
     */
    boolean checkRoleNameUnique(SysRole role);

    /**
     * 更新roleMenus
     * @param role 权限
     * @return 保存状态
     */
    boolean updateRoleMenu(SysRole role);

    /**
     * 根据用户id 获取所有的权限码
     * @param userId 用户id
     * @return 权限码集合
     */
    List<SysRole> getUserRoles(Long userId);
}
